<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MDF Lib: mdf::MdfFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="utillib.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">MDF Lib<span id="projectnumber">&#160;2.2</span>
   </div>
   <div id="projectbrief">Interface against MDF 3/4 files</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacemdf.html">mdf</a></li><li class="navelem"><a class="el" href="classmdf_1_1_mdf_file.html">MdfFile</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classmdf_1_1_mdf_file-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">mdf::MdfFile Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">

<p>Implements an user interface against a MDF file.  
 <a href="#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="mdffile_8h_source.html">mdf/mdffile.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aca5a9fa7f162daa69ea5c8f6e21c9352" id="r_aca5a9fa7f162daa69ea5c8f6e21c9352"><td class="memItemLeft" align="right" valign="top"><a id="aca5a9fa7f162daa69ea5c8f6e21c9352" name="aca5a9fa7f162daa69ea5c8f6e21c9352"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><b>~MdfFile</b> ()=default</td></tr>
<tr class="memdesc:aca5a9fa7f162daa69ea5c8f6e21c9352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <br /></td></tr>
<tr class="separator:aca5a9fa7f162daa69ea5c8f6e21c9352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9350260abd0bec9d12e58bbe1a6ff9e8" id="r_a9350260abd0bec9d12e58bbe1a6ff9e8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9350260abd0bec9d12e58bbe1a6ff9e8">Attachments</a> (<a class="el" href="namespacemdf.html#a9eaaeb3f7059cb785bf9b282915279dc">AttachmentList</a> &amp;dest) const =0</td></tr>
<tr class="memdesc:a9350260abd0bec9d12e58bbe1a6ff9e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a list of attachments.  <br /></td></tr>
<tr class="separator:a9350260abd0bec9d12e58bbe1a6ff9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31346cce95fe6da6c7a8368753a6b88e" id="r_a31346cce95fe6da6c7a8368753a6b88e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31346cce95fe6da6c7a8368753a6b88e">DataGroups</a> (<a class="el" href="namespacemdf.html#ae94eaa66f7ae8757b1ec2f8ebd9b0e9b">DataGroupList</a> &amp;dest) const =0</td></tr>
<tr class="memdesc:a31346cce95fe6da6c7a8368753a6b88e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a list of all measurements.  <br /></td></tr>
<tr class="separator:a31346cce95fe6da6c7a8368753a6b88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a317d4fc5b23edfa6ebba1455c8a23038" id="r_a317d4fc5b23edfa6ebba1455c8a23038"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a317d4fc5b23edfa6ebba1455c8a23038">Version</a> () const =0</td></tr>
<tr class="memdesc:a317d4fc5b23edfa6ebba1455c8a23038"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the file version.  <br /></td></tr>
<tr class="separator:a317d4fc5b23edfa6ebba1455c8a23038"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66cb1a0e05ae8b767e63de74a95922e9" id="r_a66cb1a0e05ae8b767e63de74a95922e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a66cb1a0e05ae8b767e63de74a95922e9">MainVersion</a> () const</td></tr>
<tr class="memdesc:a66cb1a0e05ae8b767e63de74a95922e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the main version of the file.  <br /></td></tr>
<tr class="separator:a66cb1a0e05ae8b767e63de74a95922e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacaf6b00be6fbb391530163c2fb0b58b" id="r_aacaf6b00be6fbb391530163c2fb0b58b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aacaf6b00be6fbb391530163c2fb0b58b">MinorVersion</a> (int minor)=0</td></tr>
<tr class="memdesc:aacaf6b00be6fbb391530163c2fb0b58b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the minor version of the file.  <br /></td></tr>
<tr class="separator:aacaf6b00be6fbb391530163c2fb0b58b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb64c095f9eb4c64930b69699b00c69b" id="r_afb64c095f9eb4c64930b69699b00c69b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb64c095f9eb4c64930b69699b00c69b">MinorVersion</a> () const</td></tr>
<tr class="memdesc:afb64c095f9eb4c64930b69699b00c69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minor version number of the MDF file.  <br /></td></tr>
<tr class="separator:afb64c095f9eb4c64930b69699b00c69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07cb52f357737cf42166ac6c57f973f2" id="r_a07cb52f357737cf42166ac6c57f973f2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a07cb52f357737cf42166ac6c57f973f2">ProgramId</a> (const std::string &amp;program_id)=0</td></tr>
<tr class="memdesc:a07cb52f357737cf42166ac6c57f973f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the program identifier int the ID block.  <br /></td></tr>
<tr class="separator:a07cb52f357737cf42166ac6c57f973f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c6821d3884815cc5e349ce3d0dda44c" id="r_a4c6821d3884815cc5e349ce3d0dda44c"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4c6821d3884815cc5e349ce3d0dda44c">ProgramId</a> () const =0</td></tr>
<tr class="memdesc:a4c6821d3884815cc5e349ce3d0dda44c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the program identifier.  <br /></td></tr>
<tr class="separator:a4c6821d3884815cc5e349ce3d0dda44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9000a84ff69bf5e5a0d17b936cc57a5b" id="r_a9000a84ff69bf5e5a0d17b936cc57a5b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmdf_1_1_i_header.html">IHeader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9000a84ff69bf5e5a0d17b936cc57a5b">Header</a> () const =0</td></tr>
<tr class="memdesc:a9000a84ff69bf5e5a0d17b936cc57a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the header object.  <br /></td></tr>
<tr class="separator:a9000a84ff69bf5e5a0d17b936cc57a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af34ecf3193c7581a2a2461ded6d3b76d" id="r_af34ecf3193c7581a2a2461ded6d3b76d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmdf_1_1_i_attachment.html">IAttachment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af34ecf3193c7581a2a2461ded6d3b76d">CreateAttachment</a> ()</td></tr>
<tr class="memdesc:af34ecf3193c7581a2a2461ded6d3b76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new attachment (AT block).  <br /></td></tr>
<tr class="separator:af34ecf3193c7581a2a2461ded6d3b76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf52cc1100c6abeb624d8effcdcaf6e" id="r_aacf52cc1100c6abeb624d8effcdcaf6e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmdf_1_1_i_data_group.html">IDataGroup</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aacf52cc1100c6abeb624d8effcdcaf6e">CreateDataGroup</a> ()=0</td></tr>
<tr class="memdesc:aacf52cc1100c6abeb624d8effcdcaf6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new measurement (DG block).  <br /></td></tr>
<tr class="separator:aacf52cc1100c6abeb624d8effcdcaf6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9513558a4cf0fd913c5be954de054c7b" id="r_a9513558a4cf0fd913c5be954de054c7b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9513558a4cf0fd913c5be954de054c7b">IsMdf4</a> () const =0</td></tr>
<tr class="memdesc:a9513558a4cf0fd913c5be954de054c7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is a MDF4 file.  <br /></td></tr>
<tr class="separator:a9513558a4cf0fd913c5be954de054c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cdf28b5afe820686547718725e28492" id="r_a8cdf28b5afe820686547718725e28492"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8cdf28b5afe820686547718725e28492">ReadHeader</a> (std::FILE *file)=0</td></tr>
<tr class="memdesc:a8cdf28b5afe820686547718725e28492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the information about the file.  <br /></td></tr>
<tr class="separator:a8cdf28b5afe820686547718725e28492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2586bc1d94c0f04d1ba0f81ca663062" id="r_aa2586bc1d94c0f04d1ba0f81ca663062"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa2586bc1d94c0f04d1ba0f81ca663062">ReadMeasurementInfo</a> (std::FILE *file)=0</td></tr>
<tr class="memdesc:aa2586bc1d94c0f04d1ba0f81ca663062"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the measurement information about the file.  <br /></td></tr>
<tr class="separator:aa2586bc1d94c0f04d1ba0f81ca663062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625975d820e8b21359ced373621fdcce" id="r_a625975d820e8b21359ced373621fdcce"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a625975d820e8b21359ced373621fdcce">ReadEverythingButData</a> (std::FILE *file)=0</td></tr>
<tr class="memdesc:a625975d820e8b21359ced373621fdcce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads in all expect raw data from the file.  <br /></td></tr>
<tr class="separator:a625975d820e8b21359ced373621fdcce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38db8a7e54a93c35d1d6bff55725bac7" id="r_a38db8a7e54a93c35d1d6bff55725bac7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38db8a7e54a93c35d1d6bff55725bac7">Write</a> (std::FILE *file)=0</td></tr>
<tr class="memdesc:a38db8a7e54a93c35d1d6bff55725bac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves all blocks onto the file.  <br /></td></tr>
<tr class="separator:a38db8a7e54a93c35d1d6bff55725bac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c59fccd0aab636b962425638fd5cc7" id="r_a31c59fccd0aab636b962425638fd5cc7"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31c59fccd0aab636b962425638fd5cc7">Name</a> () const</td></tr>
<tr class="memdesc:a31c59fccd0aab636b962425638fd5cc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display name of the file.  <br /></td></tr>
<tr class="separator:a31c59fccd0aab636b962425638fd5cc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae890d5cc6f83640a9b054bfaf20d8554" id="r_ae890d5cc6f83640a9b054bfaf20d8554"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae890d5cc6f83640a9b054bfaf20d8554">Name</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:ae890d5cc6f83640a9b054bfaf20d8554"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the display name of the file.  <br /></td></tr>
<tr class="separator:ae890d5cc6f83640a9b054bfaf20d8554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0a015b872836318ddb4324e108fc0f" id="r_acd0a015b872836318ddb4324e108fc0f"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd0a015b872836318ddb4324e108fc0f">FileName</a> () const</td></tr>
<tr class="memdesc:acd0a015b872836318ddb4324e108fc0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the full name of the file.  <br /></td></tr>
<tr class="separator:acd0a015b872836318ddb4324e108fc0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af708119ff7672bee5ec6a393c618084b" id="r_af708119ff7672bee5ec6a393c618084b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af708119ff7672bee5ec6a393c618084b">FileName</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:af708119ff7672bee5ec6a393c618084b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the file name.  <br /></td></tr>
<tr class="separator:af708119ff7672bee5ec6a393c618084b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15e8af6b3bbd1953aee90559612f8f0b" id="r_a15e8af6b3bbd1953aee90559612f8f0b"><td class="memItemLeft" align="right" valign="top"><a id="a15e8af6b3bbd1953aee90559612f8f0b" name="a15e8af6b3bbd1953aee90559612f8f0b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>IsFinalized</b> (bool finalized, std::FILE *file, uint16_t standard_flags, uint16_t custom_flags)=0</td></tr>
<tr class="memdesc:a15e8af6b3bbd1953aee90559612f8f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the finalize state for the file. <br /></td></tr>
<tr class="separator:a15e8af6b3bbd1953aee90559612f8f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c7c6d12fe70f5594a73788e5b29839" id="r_a52c7c6d12fe70f5594a73788e5b29839"><td class="memItemLeft" align="right" valign="top"><a id="a52c7c6d12fe70f5594a73788e5b29839" name="a52c7c6d12fe70f5594a73788e5b29839"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsFinalized</b> (uint16_t &amp;standard_flags, uint16_t &amp;custom_flags) const =0</td></tr>
<tr class="memdesc:a52c7c6d12fe70f5594a73788e5b29839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the file is finalized. <br /></td></tr>
<tr class="separator:a52c7c6d12fe70f5594a73788e5b29839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824d143cf3dc43f0ba9c71579baefacc" id="r_a824d143cf3dc43f0ba9c71579baefacc"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a824d143cf3dc43f0ba9c71579baefacc">IsFinalizedDone</a> () const</td></tr>
<tr class="separator:a824d143cf3dc43f0ba9c71579baefacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad60353736e12d3ce731c5746614d1f97" id="r_ad60353736e12d3ce731c5746614d1f97"><td class="memItemLeft" align="right" valign="top"><a id="ad60353736e12d3ce731c5746614d1f97" name="ad60353736e12d3ce731c5746614d1f97"></a>
virtual <a class="el" href="classmdf_1_1_i_data_group.html">IDataGroup</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>FindParentDataGroup</b> (const <a class="el" href="classmdf_1_1_i_channel.html">IChannel</a> &amp;channel) const =0</td></tr>
<tr class="memdesc:ad60353736e12d3ce731c5746614d1f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a parent data group (DG) depending a channel. <br /></td></tr>
<tr class="separator:ad60353736e12d3ce731c5746614d1f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a454820716c88d13b0299419383d48f60" id="r_a454820716c88d13b0299419383d48f60"><td class="memItemLeft" align="right" valign="top"><a id="a454820716c88d13b0299419383d48f60" name="a454820716c88d13b0299419383d48f60"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MdfFile</b> ()=default</td></tr>
<tr class="memdesc:a454820716c88d13b0299419383d48f60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a454820716c88d13b0299419383d48f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements an interface against a MDF file object. Note that the object holds the file contents. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9350260abd0bec9d12e58bbe1a6ff9e8" name="a9350260abd0bec9d12e58bbe1a6ff9e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9350260abd0bec9d12e58bbe1a6ff9e8">&#9670;&#160;</a></span>Attachments()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::Attachments </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemdf.html#a9eaaeb3f7059cb785bf9b282915279dc">AttachmentList</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Fetches a list of file attachments. An attachment is a reference to an external or an embedded file. Note that MDF3 doesn't support attachments. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>Destination list of attachments. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af34ecf3193c7581a2a2461ded6d3b76d" name="af34ecf3193c7581a2a2461ded6d3b76d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af34ecf3193c7581a2a2461ded6d3b76d">&#9670;&#160;</a></span>CreateAttachment()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmdf_1_1_i_attachment.html">IAttachment</a> * mdf::MdfFile::CreateAttachment </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Creates a new attachment to the file also known as a AT block. An attachemnt is either a reference to an external file or an embedded file block).</p>
<p>Note that MDF3 doesn't support attachments. </p><dl class="section return"><dt>Returns</dt><dd>Pointer to the new attachment. </dd></dl>

</div>
</div>
<a id="aacf52cc1100c6abeb624d8effcdcaf6e" name="aacf52cc1100c6abeb624d8effcdcaf6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacf52cc1100c6abeb624d8effcdcaf6e">&#9670;&#160;</a></span>CreateDataGroup()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmdf_1_1_i_data_group.html">IDataGroup</a> * mdf::MdfFile::CreateDataGroup </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Creates a new measurement block in the file also known as a DG block. A DG block defines one measurement with one or more sub-measurements (CG block). The new DG block is always put last in the file. </p><dl class="section return"><dt>Returns</dt><dd>Pointer to the new measurement. </dd></dl>

</div>
</div>
<a id="a31346cce95fe6da6c7a8368753a6b88e" name="a31346cce95fe6da6c7a8368753a6b88e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31346cce95fe6da6c7a8368753a6b88e">&#9670;&#160;</a></span>DataGroups()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::DataGroups </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemdf.html#ae94eaa66f7ae8757b1ec2f8ebd9b0e9b">DataGroupList</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Fetches a list aof all measurements (DG blocks) in the file. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>Destination list of all measurements. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acd0a015b872836318ddb4324e108fc0f" name="acd0a015b872836318ddb4324e108fc0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd0a015b872836318ddb4324e108fc0f">&#9670;&#160;</a></span>FileName() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::string &amp; mdf::MdfFile::FileName </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">nodiscard</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the file name with path and extension. </p><dl class="section return"><dt>Returns</dt><dd>File name with path and extension. </dd></dl>

</div>
</div>
<a id="af708119ff7672bee5ec6a393c618084b" name="af708119ff7672bee5ec6a393c618084b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af708119ff7672bee5ec6a393c618084b">&#9670;&#160;</a></span>FileName() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdf::MdfFile::FileName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>filename</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the file name and the short name of the object. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>File name with path and extension. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9000a84ff69bf5e5a0d17b936cc57a5b" name="a9000a84ff69bf5e5a0d17b936cc57a5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9000a84ff69bf5e5a0d17b936cc57a5b">&#9670;&#160;</a></span>Header()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmdf_1_1_i_header.html">IHeader</a> * mdf::MdfFile::Header </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the header object. This object hold general information about the file and its contents. The header is the root of most information in the file. </p><dl class="section return"><dt>Returns</dt><dd>Pointer to the header object. </dd></dl>

</div>
</div>
<a id="a824d143cf3dc43f0ba9c71579baefacc" name="a824d143cf3dc43f0ba9c71579baefacc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a824d143cf3dc43f0ba9c71579baefacc">&#9670;&#160;</a></span>IsFinalizedDone()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mdf::MdfFile::IsFinalizedDone </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns true if the finalize was done.</p>
<p>The function may be used to check on not finalized file to verify that the file have been finalized. </p><dl class="section return"><dt>Returns</dt><dd>True if the finalization was successful. </dd></dl>

</div>
</div>
<a id="a9513558a4cf0fd913c5be954de054c7b" name="a9513558a4cf0fd913c5be954de054c7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9513558a4cf0fd913c5be954de054c7b">&#9670;&#160;</a></span>IsMdf4()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mdf::MdfFile::IsMdf4 </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns true if this is an MDF4 version fo the file. </p><dl class="section return"><dt>Returns</dt><dd>True if MDF version 4. </dd></dl>

</div>
</div>
<a id="a66cb1a0e05ae8b767e63de74a95922e9" name="a66cb1a0e05ae8b767e63de74a95922e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66cb1a0e05ae8b767e63de74a95922e9">&#9670;&#160;</a></span>MainVersion()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int mdf::MdfFile::MainVersion </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the main version (4.10 -&gt; 4) of the file. </p><dl class="section return"><dt>Returns</dt><dd>Returns the main version of the file (1..4). </dd></dl>

</div>
</div>
<a id="afb64c095f9eb4c64930b69699b00c69b" name="afb64c095f9eb4c64930b69699b00c69b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb64c095f9eb4c64930b69699b00c69b">&#9670;&#160;</a></span>MinorVersion() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int mdf::MdfFile::MinorVersion </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the minor version of the MDF file. Note that it will return 1 for version 4.1 and 11 for version 4.11. </p><dl class="section return"><dt>Returns</dt><dd>Minor version of the MDF file </dd></dl>

</div>
</div>
<a id="aacaf6b00be6fbb391530163c2fb0b58b" name="aacaf6b00be6fbb391530163c2fb0b58b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacaf6b00be6fbb391530163c2fb0b58b">&#9670;&#160;</a></span>MinorVersion() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::MinorVersion </td>
          <td>(</td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>minor</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the minor version of the file. This function is typical used when saving a MDF file. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">minor</td><td>Minor version of the file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a31c59fccd0aab636b962425638fd5cc7" name="a31c59fccd0aab636b962425638fd5cc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31c59fccd0aab636b962425638fd5cc7">&#9670;&#160;</a></span>Name() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::string &amp; mdf::MdfFile::Name </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">nodiscard</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Default set to the stem of the file. Not stored in the file itself. Only used for display purpose. </p><dl class="section return"><dt>Returns</dt><dd>Short name of the file. </dd></dl>

</div>
</div>
<a id="ae890d5cc6f83640a9b054bfaf20d8554" name="ae890d5cc6f83640a9b054bfaf20d8554"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae890d5cc6f83640a9b054bfaf20d8554">&#9670;&#160;</a></span>Name() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void mdf::MdfFile::Name </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the display name of the file. By default this is set to the file name without path and extension (stem). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Short name of the file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4c6821d3884815cc5e349ce3d0dda44c" name="a4c6821d3884815cc5e349ce3d0dda44c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c6821d3884815cc5e349ce3d0dda44c">&#9670;&#160;</a></span>ProgramId() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string mdf::MdfFile::ProgramId </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the program identifier i.e. software who created the file.</p>
<dl class="section return"><dt>Returns</dt><dd>Program identifier (max 8 characters). </dd></dl>

</div>
</div>
<a id="a07cb52f357737cf42166ac6c57f973f2" name="a07cb52f357737cf42166ac6c57f973f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07cb52f357737cf42166ac6c57f973f2">&#9670;&#160;</a></span>ProgramId() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::ProgramId </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>program_id</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the program identifier in the MDF file (ID block). Note that only 8 characters are stored.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">program_id</td><td>Program identifier. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a625975d820e8b21359ced373621fdcce" name="a625975d820e8b21359ced373621fdcce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a625975d820e8b21359ced373621fdcce">&#9670;&#160;</a></span>ReadEverythingButData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::ReadEverythingButData </td>
          <td>(</td>
          <td class="paramtype">std::FILE *</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Reads all information about the file but not raw data as sample data or embedded attachment data.</p>
<p>There is no need to call the ReadHeader or ReadMeasurement functions before this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Pointer to an opened file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8cdf28b5afe820686547718725e28492" name="a8cdf28b5afe820686547718725e28492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cdf28b5afe820686547718725e28492">&#9670;&#160;</a></span>ReadHeader()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::ReadHeader </td>
          <td>(</td>
          <td class="paramtype">std::FILE *</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Reads information about the file i.e. the ID and HD block. It doesn't read in any other information as measurement information. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Pointer to an opened file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa2586bc1d94c0f04d1ba0f81ca663062" name="aa2586bc1d94c0f04d1ba0f81ca663062"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2586bc1d94c0f04d1ba0f81ca663062">&#9670;&#160;</a></span>ReadMeasurementInfo()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mdf::MdfFile::ReadMeasurementInfo </td>
          <td>(</td>
          <td class="paramtype">std::FILE *</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Reads information about the measurements (DG) and sub-measurements (CG) in the file. It doesn't read any information about the channels.</p>
<p>There is no need to call the ReadHeader function before this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Pointer to an opened file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a317d4fc5b23edfa6ebba1455c8a23038" name="a317d4fc5b23edfa6ebba1455c8a23038"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a317d4fc5b23edfa6ebba1455c8a23038">&#9670;&#160;</a></span>Version()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string mdf::MdfFile::Version </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the MDF file version. </p><dl class="section return"><dt>Returns</dt><dd>File version. </dd></dl>

</div>
</div>
<a id="a38db8a7e54a93c35d1d6bff55725bac7" name="a38db8a7e54a93c35d1d6bff55725bac7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38db8a7e54a93c35d1d6bff55725bac7">&#9670;&#160;</a></span>Write()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mdf::MdfFile::Write </td>
          <td>(</td>
          <td class="paramtype">std::FILE *</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Saves all blocks onto the file. You may call this function many times as it keep track of which blocks has been saved or not. You may close and open the file in between calls but this object keeps track of which block has been written or not, so don't delete this object. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Pointer to an open file. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/mdf/<a class="el" href="mdffile_8h_source.html">mdffile.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
